// action一个要求，返回一个对象 {type payload}
/* export const incr = () => {
  // 异步 回调 在回调中返回一个对象   此时action没有返回对象
  return dispatch => {
    setTimeout(() => {
      dispatch({
        type: 'incr',
        payload: 1
      })
    }, 2000);
  }
} */

// 固定对象 不导出 私有函数
const incrAction = num => ({
    type: 'incr',
    payload: num
})

// 公有函数
export const incr = () => dispatch => {
  // 异步 回调 在回调中返回一个对象   此时action没有返回对象
  setTimeout(() => {
    let num = 10
    dispatch(incrAction(num))
  }, 2000);
}